package web;

import java.io.Serializable;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import service.GrupoProdutoService;
import service.ManutencaoService;
import service.ProdutoService;
import entity.GrupoProduto;
import entity.Produto;

@Controller
@Scope("view")
public class ManterGrupoMB extends ManutencaoCRUDBean<GrupoProduto> implements
		Serializable {

	private static final long serialVersionUID = 7863504781978243773L;

	@Autowired
	private GrupoProdutoService grupoProdutoService;

	@Autowired
	private ProdutoService produtoService;

	private GrupoProduto grupo;

	private List<Produto> listaProduto;

	@Override
	protected void prepararAdicionar() {
		criarGrupo();
	}

	private void criarGrupo() {
		grupo = grupoProdutoService.criarNovoGrupoProduto();
	}

	@Override
	public void inicializar() {
		criarGrupo();
		super.inicializar();
	}

	@Override
	public void doDetalharAction() {
		super.doDetalharAction();
		listaProduto = produtoService.buscarProdutosPorGrupo(getEntidade());
	}

	@Override
	public ManutencaoService<GrupoProduto> getService() {
		return grupoProdutoService;
	}

	@Override
	public GrupoProduto getEntidade() {
		return grupo;
	}

	@Override
	public void setEntidade(GrupoProduto entidade) {
		grupo = entidade;
	}

	public List<Produto> getListaProduto() {
		return listaProduto;
	}

	public int getQtdaProdutos() {
		return listaProduto.size();
	}
}
